//Author: Ferdinand Eisenkeil, Soeren Pirk
//Date  : 23.04.2014

#ifndef OBJECT
#define OBJECT

#include "Common.h"
#include "Renderable.h"

class VertexBufferObjectAttribs;
class Shader;

class Object : public Renderable
{
public:
    Object();
    Object(vec3 pos, vec3 scale, char *file);
    ~Object();

    void init();
    void render(const Transform &trans);
	void reloadShader();

	bool culling;

private:

    void buildVBO();   

private:

    vector<VertexBufferObjectAttribs *> m_vbosSolid;

    Shader *m_shader;

	char *m_file;
    vec3 m_position;
    vec3 m_scale;
    bool m_showMesh;

    GLuint m_texture1;
    GLuint m_texture2;
};

#endif